package cn.wolfcode.wolf2w.redis.service;

import cn.wolfcode.wolf2w.domain.Strategy;
import cn.wolfcode.wolf2w.domain.UserInfo;
import cn.wolfcode.wolf2w.redis.vo.StrategyStatisVO;

import java.util.List;

public interface IStrategyStatisVORedisService {

    void viewnumIncrease(String sid, int num);

    StrategyStatisVO statisVo(String sid);

    /**
     * 增加vo对象中的评论数据
     * @param strategyId
     * @param num
     */
    void replynumIncrease(String strategyId, int num);

    /**
     * 收藏操作
     * @param sid
     * @param uid
     * @return true:表示当前操作是收藏 false:表示当前操作是取消收藏
     */
    boolean favor(String sid, String uid);

    /**
     * 获取strategyUserIds的集合
     * @param userId
     * @return
     */
    List<String> getstrategyUserIds(String userId);

    /**
     * 顶操作
     * @param sid
     * @param id
     * @return true:表示当前操作是可以顶 false:表示当前操作是不可以顶
     */
    boolean strategyThumbup(String sid, String id);

    /**
     * 初始化时候调用把mongodb的数据设到redis
     * @param strategy
     */
    void setStrategyStatisVO(StrategyStatisVO strategy);

    /**
     * 判断有没有
     * @param id
     * @return
     */
    boolean isStrategyVoExist(String id);

    /**
     * 查询所有vo对象
     * @return
     */
    List<StrategyStatisVO> findAllStrategyStatisVO();

    /**
     * 数据设置回mongodb
     * @param strategyStatisVOS
     */
    void setMongodb(List<StrategyStatisVO> strategyStatisVOS);
}
